package com.haogu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.haogu.entity.Customer;
import com.haogu.entity.CustomerList;

import com.haogu.entity.DuanXin;
import com.haogu.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CustomerMapper extends BaseMapper<Customer> {
    /**
     * 查询所有
     * @param page
     * @param size
     * @return
     */
    List<CustomerList> selectCustomerList(@Param("page") Integer page, @Param("size") Integer size);

    /**
     * 查询客户某一条信息
     *
     * @param id
     * @return
     */
//    Customer selectCustomer(Integer id);

    /**
     * 修改查询负责人
     * @return
     */
    List<User> selectByUser();

    /**
     * 客户根据条件模糊查询
     * @param search
     * @param filterSearch
     * @return
     */
    List<CustomerList> selectCustomerLike(@Param("search") String search,@Param("filterSearch") String filterSearch);

    /**
     * 客户池根据条件模糊查询
     * @param search
     * @param filterSearch
     * @return
     */
    List<CustomerList> selectCustomersLike(@Param("search") String search,@Param("filterSearch") String filterSearch);

    /**
     * 填充删除时间及删除者的id
     * @param time
     * @param id
     */
    void deleteTime(@Param("deleteId") Integer deleteId,@Param("time") String time, @Param("id") Integer id);

    /**
     * 今日、周、月新建查询
     *
     * @return
     */
    List<CustomerList> todayNewCreateSelect(@Param("type") String type);

    /**
     * 我的客户查询
     * @return
     */
    List<CustomerList> myCustomer(@Param("cid") Integer cid);

    /**
     * 客户池查询
     * @return
     */
    List<CustomerList> selectCustomers();

    /**
     * 将客户放入到客户池
     * @param id
     * @return
     */
    int toReleaseCustomers(@Param("id") Integer id);

    /**
     * 批量关注
     * @param id
     * @return
     */
    int toBatchConcerned(@Param("id") Integer id);

    /**
     * 关注查询
     * @return
     */
    List<CustomerList> selectBatchConcerned();

    /**
     * 批量取消关注
     * @return
     */
    List<CustomerList> toCancelConcerned(@Param("id") Integer id);

    /**
     * 查询发送短信相关信息
     * @param id
     * @return
     */
    DuanXin selectChat(@Param("id") Integer id);
}
